home *** CD-ROM | disk | FTP | other *** search
- import com.apple.cocoa.foundation.NSData;
- import com.apple.cocoa.foundation.NSDictionary;
- import com.apple.cocoa.foundation.NSPropertyListSerialization;
- import java.io.File;
- import java.math.BigDecimal;
-
- public class IconHeightComputer {
- private static final boolean debug = false;
- private static final int LINE_HIGH_BASE_1 = 35;
- private static final int LINE_HIGH_BASE_2 = 47;
- private static final int LINE_HIGH_BASE_3 = 59;
- private static final int SMALLEST_HEIGHT = 120;
- // $FF: synthetic field
- static Class class$java$lang$Number;
-
- public static void main(String[] var0) {
- System.out.println(roundDownToNearestIcon(var0[0]));
- }
-
- public static String roundDownToNearestIcon(String var0) {
- int var1 = var0.indexOf(",");
- int var2 = var0.indexOf(",", var1 + 1);
- var0.indexOf(",", var2 + 1);
- int var4 = Integer.parseInt(var0.substring(0, var1));
- int var5 = Integer.parseInt(var0.substring(var1 + 1, var2));
- int var6 = Integer.parseInt(var0.substring(var2 + 1));
- return String.valueOf(roundDownToNearestIcon(var4, var5, var6));
- }
-
- public static String compute(String var0) {
- int var1 = var0.indexOf(",");
- int var2 = var0.indexOf(",", var1 + 1);
- var0.indexOf(",", var2 + 1);
- int var4 = Integer.parseInt(var0.substring(0, var1));
- int var5 = Integer.parseInt(var0.substring(var1 + 1, var2));
- int var6 = Integer.parseInt(var0.substring(var2 + 1));
- return String.valueOf(compute(var4, var5, var6));
- }
-
- public static int roundDownToNearestIcon(int var0, int var1, int var2) {
- int var4 = getMaxNumberOfFinderLabelLines();
- BigDecimal var5 = BigDecimal.valueOf((long)(var0 - 45 + 1));
- var5 = var5.divide(BigDecimal.valueOf((long)(getBase(var4) + textSizeInc(var1, var4) + var2 - 16)), 1);
- int var3 = var5.intValue();
- return compute(var1, var3, var2);
- }
-
- public static int compute(int var0, int var1, int var2) {
- return compute(getMaxNumberOfFinderLabelLines(), var0, var1, var2);
- }
-
- private static int compute(int var0, int var1, int var2, int var3) {
- int var4 = 120;
- var4 = var2 * (getBase(var0) + textSizeInc(var1, var0) + var3 - 16) + 45 - 1;
- return var4 < 120 ? 120 : var4 - 3;
- }
-
- private static int getBase(int var0) {
- if (var0 == 1) {
- return 35;
- } else if (var0 == 2) {
- return 47;
- } else {
- return var0 == 3 ? 59 : 0;
- }
- }
-
- private static int textSizeInc(int var0, int var1) {
- switch (var0) {
- case 10:
- return 0;
- case 11:
- return var1;
- case 12:
- return 3 * var1;
- case 13:
- return 4 * var1;
- case 14:
- return 5 * var1;
- case 15:
- case 16:
- return 6 * var1;
- default:
- return 0;
- }
- }
-
- private static int getMaxNumberOfFinderLabelLines() {
- String var0 = System.getProperty("user.name");
- File var1 = new File("/Users/" + var0 + "/Library/Preferences/com.apple.finder.plist");
- NSData var2 = new NSData(var1);
- NSDictionary var3 = (NSDictionary)NSPropertyListSerialization.propertyListFromXMLData(var2);
- Object var4 = var3.objectForKey("MaximumLabelLines");
- Object var5 = null;
- if (var4 == null) {
- return 2;
- } else {
- if (var4.getClass() == (class$java$lang$Number == null ? (class$java$lang$Number = class$("java.lang.Number")) : class$java$lang$Number)) {
- var5 = (Number)var4;
- } else {
- try {
- var5 = new Integer(var4.toString());
- } catch (NumberFormatException var7) {
- var5 = null;
- }
- }
-
- return var5 == null ? 2 : ((Number)var5).intValue();
- }
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(var2.getMessage());
- }
- }
- }
-